import matplotlib.pyplot as plt
import random
from pylab import mpl

# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False

# 画出提瓦特大陆温度变化图
# 画出渊下宫温度变化图

# 0.准备x, y坐标的数据
x = range(24)
y_tiwate = [random.uniform(15, 25) for i in x]  # 提瓦特大陆温度
y_yuanxiagong = [random.uniform(-5, 7) for i in x]  # 渊下宫温度

# 1.创建画布
# plt.figure(figsize=(20, 8), dpi=80)  #dpi：图像清晰度
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=100)

# 2.绘制折线图
axes[0].plot(x, y_tiwate, label="提瓦特")
axes[1].plot(x, y_yuanxiagong, color='r', linestyle='--', label="渊下宫")

# 构造x轴刻度标签
x_ticks_label = ["{}时".format(i) for i in x]
# 构造y轴刻度
y_ticks = range(-10, 30)

# 修改x,y轴坐标的刻度显示
axes[0].set_xticks(x[::2])  # 每2小时一个刻度
axes[0].set_yticks(y_ticks[::3])  # 每3度一个刻度
axes[0].set_xticklabels(x_ticks_label[::2])
axes[1].set_xticks(x[::2])  # 每2小时一个刻度
axes[1].set_yticks(y_ticks[::3])  # 每3度一个刻度
axes[1].set_xticklabels(x_ticks_label[::2])

# 添加网格
axes[0].grid(True, linestyle='--', alpha=0.5)
axes[1].grid(True, linestyle='--', alpha=0.5)

# 添加描述
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[0].set_title("提瓦特一天的温度变化图示", fontsize=20)  # fontsize设置字体大小
axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")
axes[1].set_title("渊下宫一天的温度变化图示", fontsize=20)  # fontsize设置字体大小

# 保存图片到指定路径
# plt.savefig("4_tiwate-temperature-2.png")
# 注意：plt.show()会释放figure资源，如果在显示图像之后保存图片将只能保存空图片。

axes[0].legend(loc="best")
axes[1].legend(loc="best")
# 如果只在plt.plot()中设置label还不能最终显示出图例，还需要通过plt.legend()将图例显示出来。

# 3.显示图像
plt.show()
